ref: https://lwn.net/Articles/853637/
如果對 SO_REUSEPORT 這個能夠提供網路服務吞吐量的 socket options 不陌生的話,那這篇文章強烈推薦看看。
本篇文章是從討論開啟 SO_REUSEPORT 這個選項會出現的一些行為以及可能可以怎麼做
最直得看的應該是留言區本身,有很多不同層級的討論,大家最愛講的 Google SRE 人也都出來分享自己的經驗了。
正常情況下,每個 TCP Port 只能被一個 process 給使用來聽取封包,但是對於一些網路重度使用的系統來說,就算讓該 process 將連線給分散到其他的 process 去處理,該 process 依然可能是系統的效能瓶頸。
Linux Kernel 3.9 後引入的 SO_REUSEPORT 參數就是為了解決這個效能問題而來的,這個參數允許多個 Process 同時使用一個 TCP Port,每當底層有一條新的連線請求時, Kernel 會從眾多的候選人之一中挑選一個可用來處理。
這種情況下,網路應用程式就可以專心處理連線工作,然後實務上同時執行多個 Process 即可。底層的 Kernel 會幫忙做連線的負載分配。
當眾多候選 process 其中之一掛掉了(可能是 crash,也有可能是有意的重啟), kernel 會注意到這個候選人要說掰掰,這候選人處理的所有 connection 都會被移除,比較糟糕的是其他待在 Accept-Queue 那些還沒被建立連線的連線請求也會一併被移除。
作者認為 Kernel 應該要有能力可以轉移那些 Accept-queue 中的連線到其他還工作的候選 process 下去處理,這樣使用者/Client 的連線就不會需要處理太多重連的問題。
文章後面都在探討可行的做法以及這個問題可能會導致什麼問題。
留言區滿熱鬧的,譬如說
1. 有人認為 server 重啟的情況實在太少見,有需要為這麽少見的情況導入這麼複雜的修改到 Kernel 中?
a. 有人回答使用 Let's Encrypt 你可能每幾週就要重啟一次。
b. Google SRE 回答其內部因為調整設定的緣由,幾乎無時無刻都需要重啟服務,不過這問題已經從別的層級去處理掉,所以修改 Kernel 對他們的用途不太大。
2. 有人提出 Nginx 本身有 live migration 的功能,可以將 fd 給轉移到其他的 process 去處理。
a. 有人提出這邊談的是 socket/connection 的層級,這些東西都還沒發生到 userspace process 同時也不是 userspace 應用程式可以接觸處理的。
b. 本文探討的是 bind(), accept(), listen() 這類型 function call 之間 kernel 會幫忙做的事情。
有興趣的別忘了閱讀留言區
同時也有2部Youtube影片,追蹤數超過168萬的網紅Ketchup Jo,也在其Youtube影片中提到,เครื่องใช้ไฟฟ้าหลายๆอย่างในบ้าน ตอนนี้กลายเป็นระบบ Smart หมดแล้ว แล้วจะทำยังไงให้เครื่องใช้ไฟฟ้าธรรมดา เช่นพัดลม โคมไฟ เปลี่ยนเป็นระบบ smart ได้บ้าง?!...
「socket connection」的推薦目錄:
- 關於socket connection 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於socket connection 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於socket connection 在 Adam Lobo TV Facebook 的最佳解答
- 關於socket connection 在 Ketchup Jo Youtube 的最佳貼文
- 關於socket connection 在 Adam Lobo TV Youtube 的精選貼文
- 關於socket connection 在 TCP Socket Programming 學習筆記 - 雷德麥的藏書閣 的評價
- 關於socket connection 在 C: socket connection timeout - Stack Overflow 的評價
socket connection 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
ref: https://medium.com/100-days-of-linux/how-to-deal-with-too-many-open-files-log-storm-c617ba84143b
本文是一個經驗分享文,作者分享其 HTTP Server 遇到 599: Network Connection Timed out Error 錯誤時的除錯經驗。
作者發現到該錯時,趕緊檢查 Server 的錯誤訊息然後得到了下列內容
HTTP: Accept error: accept tcp [::]:
這個錯誤訊息非常明確,告知該 Server 開啟太多檔案了,導致沒有辦法繼續處理後續的網路請求。
不過對於不熟悉 Linux 系統設計的使用者來說這個錯誤訊息就不夠明顯,實際上 Linux 系統內所有的網路 Socket 底層都是一個又一個檔案結構(FD),所以該錯誤訊息也可以解釋為該 Server 開啟了過多的 Socket ,已經超過系統設定上限。
作者使用下列指令來找到當前開啟的 Socket(FD) 數量
lsof -u
為了解決這個問題,作者認為有兩個方向可以去嘗試
1. 提高整個 Server 能夠開啟的 Socket 數量上限
2. 確保 Server 將所有卡住沒使用的 Socket 都清除收回
後半部分文章作者介紹如何使用 ulimit 這個指令來觀察系統當前的設定,包含soft limit 以及 hard limit 兩種類型的差別,如何針對 socket 的部分來調高設定。
對於這方面有興趣的讀者可以閱讀一下,本篇文章滿短的,很快就可以消化完畢
socket connection 在 Adam Lobo TV Facebook 的最佳解答
Hey guys, hope you are having a great Sunday!
Here is a link to my latest Tech Video http://bit.ly/2gDYnEC in case you guys haven't caught it yet
Make your home appliances or any electrical sockets "smart" with this affordable Broadlink WiFi smart socket where you can turn on and off your plug anywhere as long as you have an Internet connection on your phone!
Check out my full video review http://bit.ly/2gDYnEC
* Disclaimer: This video is preview so there is no audio in it #dontpanic :) *
Do give the video a thumbs up if you like the video and subscribe to my channel if you haven't, feel free to share the video as well.
Thanks and enjoy the video!
#adamlobo #adamlobotv #techyoutube #techreviews
socket connection 在 Ketchup Jo Youtube 的最佳貼文
เครื่องใช้ไฟฟ้าหลายๆอย่างในบ้าน ตอนนี้กลายเป็นระบบ Smart หมดแล้ว แล้วจะทำยังไงให้เครื่องใช้ไฟฟ้าธรรมดา เช่นพัดลม โคมไฟ เปลี่ยนเป็นระบบ smart ได้บ้าง?!? ลองมาดูคลิปนี้ แล้วจะรู้ว่าของสิ่งนี้ ช่วยให้ชีวิตเรา ง่ายขึ้น!!!
#Review #KetchupJo #Thailand
สามารถเข้าไปดูสินค้าได้ที่:
https://www.smarthome-lamptan.com
ผมลงคลิปใหม่ทุกอาทิตย์นะครับ ?
Make sure to subscribe! ◆ https://www.youtube.com/KetchupJo
ถ้าคุณชอบคลิปนี้ อย่าลืมกดติดตามนะครับ ◆ https://www.youtube.com/KetchupJo
Don't forget to follow me on Facebook, Instagram
and subscribe on Youtube
อย่าลืมติดตามผมในเฟสบุ๊ค อินสตาแกรม และ ยูทูป
Facebook ► https://www.facebook.com/ketchupjow/
Instagram ► ketchup_jo
สนใจติดต่อเรื่องการลงโฆษณาหรือการร่วมงานเท่านั้น กรุณาติดต่อ
► Email: ketchupjow@gmail.com
For business or stock footage inquires ONLY contact me via
Email: ketchupjow@gmail.com
Music: Light The Torch - Silent Partner,
Hyperfun - Kevin MacLeod
?????คำเตือน ?????
วิดีโอที่คุณกำลังชมนี้ทำขึ้นเพื่อจุดประสงค์สำหรับ"ความบันเทิง”เท่านั้น
เนื้อหาต่างๆที่ทำขึ้น เพื่อให้ผู้ชมสามารถนำเอาไปต่อยอดเพื่อการเรียนรู้
โดยไม่ใช่บทสรุปหรือข้ออ้างอิงทางวิทยาศาสตร์แต่อย่างใด
แต่เป็นความคิดเห็นส่วนตัวที่เกิดจากการลองผิดลองถูกส่วนตัว
หากผู้ใดนำไปทดลองหรือทำตามแล้วเกิดความเสียหายใดๆ
ทาง Ketchup Jo จะไม่มีส่วนในความรับผิดชอบใดๆทั้งสิ้น
โปรดรับชมด้วยวิจารณญาณ
และให้คำแนะนำแก่บุตรหลานของท่านในการรับชม
socket connection 在 Adam Lobo TV Youtube 的精選貼文
This is the review of the the Broadlink SP2 Wifi Smart Socket, the cheapest smart plug, now for only RM109 ($25) on Lazada !
Make your home appliances or any electrical sockets "smart" with this affordable Broadlink WiFi smart socket where you can turn on and off your plug anywhere as long as you have an Internet connection on your phone!
Get yours at the links below
http://ho.lazada.com.my/SHK4z5 (Malaysia)
http://amzn.to/2h2OC6x (US)
*If the item states that it doesn't ship to your country, click at buying options to view other sellers which ships to your country*
My Desk Setup: http://bit.ly/2kn80us
Instagram: https://www.instagram.com/adamlob0/
Twitter: https://twitter.com/adam_lobo
Facebook: www.fb.com/adamlobotv
Snapchat: @adamlob0
Adam Lobo TV: www.adamlobo.tv
Adam Lobo Official Profile Website: www.adamlobo.com
Dragon Red Band Official Website: www.dragonred.com
Fist Of Pain Band Facebook Page: https://www.facebook.com/fistofbandmalaysia/
socket connection 在 TCP Socket Programming 學習筆記 - 雷德麥的藏書閣 的推薦與評價
有別於IPC ,Socket 是用於網路上不同程序的互相溝通,比如說流覽器要怎麼跟Web ... 有了IP跟port,我們就能使用 connect(int struct sockaddr, ... ... <看更多>
相關內容